package hdb.controller;

import java.util.Enumeration;
import java.util.HashSet;
import java.util.Set;


import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;

/** 
 * Controller to save a Vorrat Object.
 * @author @author juergen.schoenwaelder@stud.fh-deggendorf.de, thomas.eberhart@stud.fh-deggendorf.de
 */
public class SaveVorrat extends AlleVorrat {

	@SuppressWarnings("unchecked")
	protected ModelAndView handleRequestInternal(HttpServletRequest req,
			HttpServletResponse resp) throws Exception {
		
		int id = Integer.parseInt(req.getParameter("id"));
		
		
		
		int artikelId;
		try {
			artikelId = Integer.parseInt(req.getParameter("artikelId"));
		} catch (NumberFormatException e) {
			artikelId = 0;
		}
/*		
		Set<Integer> lagertypIds = new HashSet<Integer>();
		for (Enumeration<String> parNames = req.getParameterNames(); parNames.hasMoreElements();) { 
			String nextParam = parNames.nextElement();
			if (nextParam.startsWith("lagertypId")) {
				try {
					int lagertypId = Integer.parseInt(req.getParameter(nextParam));
					lagertypIds.add(lagertypId);
				} catch (Exception e) {
					// Nichts zu tun hier. Eigentlich sollte der Fall nicht auftreten.
				}
			}
			
		}		
		getVorratDao().anlegen(artikelId, lagertypIds);
*/		
		int lagertypId;
		try {
			lagertypId = Integer.parseInt(req.getParameter("lagertypId"));
		} catch (NumberFormatException e) {
			lagertypId = 0;
		}
		
		int anzahl;
		try {
			anzahl = Integer.parseInt(req.getParameter("anzahl"));
		} catch (NumberFormatException e) {
			anzahl = 0;
		}
		
		if (id == 0) {	
			getVorratDao().anlegen(artikelId, lagertypId, anzahl);
		} else {
			getVorratDao().modify(id, artikelId, lagertypId, anzahl);
		}		
		
		return super.handleRequestInternal(req, resp);
		
	}

}
